E cient and Precise Modeling of Exceptions for the Analysis of Java Programs

نویسندگان

  • Jong-Deok Choi
  • David Grove
  • Michael Hind
  • Vivek Sarkar
  • Thomas J. Watson
چکیده

The Factored Control Flow Graph, FCFG, is a novel representation of a program's intraprocedural control ow, which is designed to eeciently support the analysis of programs written in languages, such as Java, that have frequently occurring operations whose execution may result in exceptional control ow. The FCFG is more compact than traditional CFG representations for exceptional control ow, yet there is no loss of precision in using the FCFG. In this paper, we introduce the FCFG representation and outline how standard forward and backward data ow analysis algorithms can be adapted to work on this representation. We also present empirical measurements of FCFG sizes for a large number of methods obtained from a variety of Java programs, and compare these sizes with those of a traditional CFG representation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An uncaught exception analysis for Java q , qq

Current JDK Java compiler relies on programmer’s declarations (by throws clauses) for checking against uncaught exceptions of the input program. It is not elaborate enough to remove programmer’s unnecessary handlers nor suggest to programmers for specialized handlings (when programmer’s declarations are too broad). We propose a static analysis of Java programs that estimates their uncaught exce...

متن کامل

Complexity of Concrete Type-Inference in the Presence of Exceptions

Concrete type-inference for statically typed object-oriented programming languages (e.g., Java, C ++) determines at each program point, those objects to which a reference may refer or a pointer may point during execution. A precise compile-time solution for this problem requires a ow-sensitive analysis. Our new complexity results for concrete type-inference distinguish the diiculty of the intra...

متن کامل

Optimizing Java Programs in the Presence of Exceptions

The support for precise exceptions in Java, combined with frequent checks for runtime exceptions, leads to severe limitations on the compiler’s ability to perform program optimizations that involve reordering of instructions. This paper presents a novel framework that allows the compiler to relax these constraints on instruction scheduling. We first present an algorithm using dynamic analysis, ...

متن کامل

Complexity of Points-To Analysis of Java in the Presence of Exceptions

At each program point, points-to analysis for statically typed object-oriented programming languages (e.g., Java, C) determines those objects to which a reference may refer (or a pointer may point) during execution. Points-to analysis is necessary for any semantics-based software tools for object-oriented systems. Our new complexity results for points-to analysis distinguish the difficulty of i...

متن کامل

Instruction Scheduling in the Presence of Java's Runtime Exceptions

One of the challenges present to a Java compiler is Java’s frequent use of runtime exceptions. These exceptions affect performance directly by requiring explicit checks, as well as indirectly by restricting code movement in order to satisfy Java’s precise exception model. Instruction scheduling is one transformation which is restricted by runtime exceptions since it relies heavily on reordering...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999